﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using EvaluacionExalmarEntidades;
using EvaluacionExalmarLogicaNegocio;

namespace appEvaluacionExalmar
{
    public partial class frmResultado : Form
    {
        public EvaluacionInfo OEvaluacion;

        public frmResultado()
        {
            InitializeComponent();
        }

        private void frmResultado_Load(object sender, EventArgs e)
        {
            lblEvaluado.Text = @"Colaborador evaluado: " + OEvaluacion.EmpleadoEvaluado.Nombres + @" " + OEvaluacion.EmpleadoEvaluado.ApellidoPaterno + @" " + OEvaluacion.EmpleadoEvaluado.ApellidoMaterno;
            lblEvaluador.Text = @"Realiza la evaluación: " + OEvaluacion.Empleado.Nombres + @" " + OEvaluacion.Empleado.ApellidoPaterno + @" " + OEvaluacion.Empleado.ApellidoMaterno;
            if (OEvaluacion.FechaEvaluacion != null)
                lblFecha.Text = OEvaluacion.FechaEvaluacion.Value.ToShortDateString();

            txtCC1.Text = OEvaluacion.ComentariosC1;
            txtCC2.Text = OEvaluacion.ComentariosC2;
            txtCC3.Text = OEvaluacion.ComentariosC3;
            txtCC4.Text = OEvaluacion.ComentariosC4;
            txtCC5.Text = OEvaluacion.ComentariosC5;
            txtCC6.Text = OEvaluacion.ComentariosC6;

            txtAC1.Text = OEvaluacion.ActividadesC1;
            txtAC2.Text = OEvaluacion.ActividadesC2;
            txtAC3.Text = OEvaluacion.ActividadesC3;
            txtAC4.Text = OEvaluacion.ActividadesC4;
            txtAC5.Text = OEvaluacion.ActividadesC5;
            txtAC6.Text = OEvaluacion.ActividadesC6;

            var oDetalle = OEvaluacion.Detalle;

            var promedios = from d in oDetalle
                            group d by d.IdCompetencia
                            into e1
                            select new {Competencia = e1.Key, Promedio = e1.Average(d => d.Respuesta)};

            foreach (var promedio in promedios)
            {
                var resultado = Math.Round(Double.Parse(promedio.Promedio.ToString()), 2).ToString(CultureInfo.InvariantCulture);
                switch (promedio.Competencia)
                {
                    case 1:
                        txtC1.Text = resultado;
                        break;
                    case 2:
                        txtC2.Text = resultado;
                        break;

                    case 3:
                        txtC3.Text = resultado;
                        break;

                    case 4:
                        txtC4.Text = resultado;
                        break;
                    case 5:
                        txtC5.Text = resultado;
                        break;
                    case 6:
                        txtC6.Text = resultado;
                        break;
                }


            }
        }

        private void btnSalir_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void frmResultado_FormClosed(object sender, FormClosedEventArgs e)
        {
            Application.Exit();
        }
    }
}
